package panel;





import java.awt.Graphics;

import org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo;
import org.uc3m.ed.interfaz_grafica.ventana.VentanaPrincipal;
import org.uc3m.ed.tad.ITAD;
import org.uc3m.ed.tad.lista.ListaEnlazadaCC;

import dibujo.DibujoLista;

public class PanelDibujoLEnlazadaCC extends PanelDibujo{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * 
	 */
	private ListaEnlazadaCC<Integer> _lista;
	
	/**
	 * 
	 */
	private DibujoLista _dibujoLista;
	
	/**
	 * 
	 */
	public PanelDibujoLEnlazadaCC ()
	{
		super();
		try{
			_dibujoLista= new DibujoLista(this);
		}catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::LECC::PanelDibujoLEnlazadaCC ERROR::1\n   Se ha producido una Excepcion: "+e.toString());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::LECC::PanelDibujoLEnlazadaCC ERROR::2\n   Se ha producido un Error: "+e.toString());
		}
	
		
		
	}
	
	/* (non-Javadoc)
	 * @see org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo#paint(java.awt.Graphics)
	 */
	public  void paint (Graphics grafico) {
		
		try{
			grafico.clearRect(0,0, getWidth(),getHeight());
			if (_lista!=null)
				_dibujoLista.dibujar(grafico,_lista);
		}catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::LECC::PanelDibujoLEnlazadaCC ERROR::3\n   Se ha producido una Excepcion: "+e.toString());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::LECC::PanelDibujoLEnlazadaCC ERROR::4\n   Se ha producido un Error: "+e.toString());
		}
		
	}
	
	/* (non-Javadoc)
	 * @see org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo#setEstructura(org.uc3m.ed.tad.ITAD)
	 */
	@SuppressWarnings("unchecked")
	public void setEstructura(ITAD<Integer> estructura) {
		try{
			_lista=(ListaEnlazadaCC<Integer>) estructura;
		}catch(Exception e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::LECC::PanelDibujoLEnlazadaCC ERROR::5\n   Se ha producido una Excepcion: "+e.toString());
		}catch(Error e){
			VentanaPrincipal.getConsola().escribirTextoError("CLASS::LECC::PanelDibujoLEnlazadaCC ERROR::6\n   Se ha producido un Error: "+e.toString());
		}
	}
	
	/* (non-Javadoc)
	 * @see org.uc3m.ed.interfaz_grafica.ventana.PanelDibujo#getEstructura()
	 */
	@SuppressWarnings("unchecked")
	public ITAD<Integer> getEstructura(){
		return _lista;
	}
	
	
	
}
